home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 25
/
Cream of the Crop 25.iso
/
bbs
/
con_005c.zip
/
CONCORD.RAR
/
SCRIPT.RAR
/
BBSLIST.SCR
< prev
next >
Wrap
Text File
|
1997-04-25
|
8KB
|
304 lines
; BBSLIST.SCR : Add / Modify BBS in the BBS list
;
; This script is called from Add/Change BBS menutype.
;
; There may be a small bug in setting the first net address:
; In certain cases, the net address remains 0:0/0 even if set correctly.
; Saving BBS information and modifying the net address later will
; correct the problem.
VAR %YPOS% = NUMBER
VAR %TEMP% = NUMBER
VAR %L1% = STRING 20
VAR %L2% = NUMBER
VAR %L3% = STRING 11
VAR %L4% = STRING 15
:HEADER
WRITE "^C14,0;^E1;"
WRITE "BBS name : Press Ctrl-Z to continue.^M;"
WRITE "Sysop :^M;"
WRITE "Software :^M;"
MENUTYPE 1A BBSLIST1
:HEADER_OK
WRITE "^G1,5;"
WRITE "^C7,0;(^C14,0;C^C7,0;)^C14,0;ontinue, "
WRITE "^C7,0;(^C14,0;A^C7,0;)^C14,0;gain, "
WRITE "^C7,0;(^C14,0;Q^C7,0;)^C14,0;uit "
SET @ANSWER@ =
WRITE "^C7,0;(^C15,0;~1C^C7,0;/^C15,0;~2A^C7,0;/^C15,0;~3Q^C7,0;) ^W;^M;"
IF (@ANSWER@ = 1)
GOTO NODE
END
IF (@ANSWER@ = 2)
GOTO HEADER
END
IF (@ANSWER@ = 3)
SET @ANSWER@ =
WRITE "^C14,0;Are you sure? (~1y/~2N) ^W;"
IF (@ANSWER@ = 1)
WRITE "^M;"
QUIT
ELSE
WRITE "^X-79;^E3;"
GOTO HEADER_OK
END
END
GOTO HEADER_OK
:NODE
GOSUB SHOWNODES
:NODE_OK
WRITE "^G1,5;"
WRITE "^C7,0;(^C14,0;C^C7,0;)^C14,0;ontinue, "
WRITE "^C7,0;(^C14,0;E^C7,0;)^C14,0;dit node, "
WRITE "^C7,0;(^C14,0;A^C7,0;)^C14,0;dd node, "
WRITE "^C7,0;(^C14,0;D^C7,0;)^C14,0;elete node, "
WRITE "^C7,0;(^C14,0;Q^C7,0;)^C14,0;uit "
SET @ANSWER@ =
WRITE "^C7,0;(^C15,0;~1C^C7,0;/^C15,0;~2E^C7,0;/^C15,0;~3A^C7,0;/^C15,0;~4D^C7,0;/^C15,0;~5Q^C7,0;) ^W;^X-79;^E3;"
IF (@ANSWER@ = 1)
GOSUB NET
END
IF (@ANSWER@ = 2)
IF (@BBSLIST_NODES@ > 0)
GOSUB ASK_NODE
GOSUB EDIT_NODE
ELSE
GOSUB ADD_NODE
END
END
IF ((@ANSWER@ = 3) AND (@BBSLIST_NODES@ < 10))
GOSUB ADD_NODE
END
IF ((@ANSWER@ = 4) AND (@BBSLIST_NODES@ > 1))
GOSUB ASK_NODE
SET @ANSWER@ =
WRITE "^C14,0;Are you sure? (~1y/~2N) ^W;"
IF (@ANSWER@ = 1)
GOSUB DEL_NODE
GOSUB SHOWNODES
ELSE
WRITE "^X-79;^E3;"
GOTO NODE_OK
END
END
IF (@ANSWER@ = 5)
SET @ANSWER@ =
WRITE "^C14,0;Are you sure? (~1y/~2N) ^W;"
IF (@ANSWER@ = 1)
WRITE "^M;"
QUIT
ELSE
WRITE "^X-79;^E3;"
GOTO NODE_OK
END
END
GOTO NODE_OK
:SHOWNODES
WRITE "^E1;"
WRITE "^C14,0;BBS name : ^C15,0;@BBSLIST_NAME@.35^M;"
WRITE "^C14,0;Sysop : ^C15,0;@BBSLIST_SYSOP@.35^M;"
WRITE "^C14,0;Software : ^C15,0;@BBSLIST_SOFTWARE@.15^M;"
WRITE "^G1,7;^C14,0; # Phonenumber BPS Open Other^M;"
IF (@BBSLIST_NODES@ > 0)
SET %TEMP% = 0
:LOOP1
SET %TEMP% = (%TEMP%+1)
SET @BBSLIST_NODE@ = %TEMP%
WRITE "^C15,0;@BBSLIST_NODE@:02 @BBSLIST_NUMBER@.20 @BBSLIST_BPSRATE@.05 @BBSLIST_OPEN@.11 @BBSLIST_NODECMNT@.15^M;"
IF ((@BBSLIST_NODE@ = @BBSLIST_NODES@) OR (@BBSLIST_NODE@ = 10))
GOTO OUT1
END
GOTO LOOP1
END
:OUT1
RETURN
:ASK_NODE
; sets node number
IF (@BBSLIST_NODES@ > 1)
SET @ANSWER@ =
WRITE "^C13,0;Enter node number : ^C14,1;^L2;^C13,0;^X-30;^E3;"
IF ((@ANSWER@ < 1) OR (@ANSWER@ > @BBSLIST_NODES@))
RETURN
ELSE
SET @BBSLIST_NODE@ = @ANSWER@
END
ELSE
SET @BBSLIST_NODE@ = 1
END
RETURN
:EDIT_NODE
; edit current node number
WRITE "^G48,1;^C14,0;Press Ctrl-Z to continue."
SET %YPOS% = (@BBSLIST_NODE@+7)
WRITE "^G1,%YPOS%;^C15,0;@BBSLIST_NODE@:02"
MENUTYPE 1A BBSLIST2
WRITE "^G48,1;^C14,0;^E3;"
RETURN
:ADD_NODE
SET %TEMP% = (@BBSLIST_NODES@+1)
SET @BBSLIST_NODES@ = %TEMP%
SET @BBSLIST_NODE@ = @BBSLIST_NODES@
GOSUB EDIT_NODE
RETURN
:DEL_NODE
IF (@BBSLIST_NODE@ < @BBSLIST_NODES@)
SET %TEMP% = (@BBSLIST_NODE@+1)
:LOOP2
SET @BBSLIST_NODE@ = %TEMP%
SET %L1% = @BBSLIST_NUMBER@
SET %L2% = @BBSLIST_BPSRATE@
SET %L3% = @BBSLIST_OPEN@
SET %L4% = @BBSLIST_NODECMNT@
SET %TEMP% = (%TEMP%-1)
SET @BBSLIST_NODE@ = %TEMP%
SET @BBSLIST_NUMBER@ = %L1%
SET @BBSLIST_BPSRATE@ = %L2%
SET @BBSLIST_OPEN@ = %L3%
SET @BBSLIST_NODECMNT@ = %L4%
SET %TEMP% = (%TEMP%+2)
IF (%TEMP% >= @BBSLIST_NODES@)
GOTO OUT2
END
GOTO LOOP2
END
:OUT2
SET %TEMP% = (@BBSLIST_NODES@-1)
SET @BBSLIST_NODES@ = %TEMP%
SET @BBSLIST_NODE@ = 1
RETURN
:NET
GOSUB SHOWNETS
:NET_OK
WRITE "^G1,5;"
WRITE "^C7,0;(^C14,0;C^C7,0;)^C14,0;ontinue, "
WRITE "^C7,0;(^C14,0;E^C7,0;)^C14,0;dit net address, "
WRITE "^C7,0;(^C14,0;A^C7,0;)^C14,0;dd addr, "
WRITE "^C7,0;(^C14,0;D^C7,0;)^C14,0;elete addr, "
WRITE "^C7,0;(^C14,0;Q^C7,0;)^C14,0;uit "
SET @ANSWER@ =
WRITE "^C7,0;(^C15,0;~1C^C7,0;/^C15,0;~2E^C7,0;/^C15,0;~3A^C7,0;/^C15,0;~4D^C7,0;/^C15,0;~5Q^C7,0;) ^W;^X-79;^E3;"
IF (@ANSWER@ = 1)
GOSUB STOP
END
IF (@ANSWER@ = 2)
IF (@BBSLIST_NETS@ > 0)
GOSUB ASK_NET
GOSUB EDIT_NET
ELSE
GOSUB ADD_NET
END
END
IF ((@ANSWER@ = 3) AND (@BBSLIST_NETS@ < 10))
GOSUB ADD_NET
END
IF ((@ANSWER@ = 4) AND (@BBSLIST_NETS@ > 1))
GOSUB ASK_NET
SET @ANSWER@ =
WRITE "^C14,0;Are you sure? (~1y/~2N) ^W;"
IF (@ANSWER@ = 1)
GOSUB DEL_NET
GOSUB SHOWNETS
ELSE
WRITE "^X-79;^E3;"
GOTO NET_OK
END
END
IF (@ANSWER@ = 5)
SET @ANSWER@ =
WRITE "^C14,0;Are you sure? (~1y/~2N) ^W;"
IF (@ANSWER@ = 1)
WRITE "^M;"
QUIT
ELSE
WRITE "^X-79;^E3;"
GOTO NET_OK
END
END
GOTO NET_OK
:SHOWNETS
WRITE "^E1;"
WRITE "^C14,0;BBS name : ^C15,0;@BBSLIST_NAME@.35^M;"
WRITE "^C14,0;Sysop : ^C15,0;@BBSLIST_SYSOP@.35^M;"
WRITE "^C14,0;Software : ^C15,0;@BBSLIST_SOFTWARE@.15^M;"
WRITE "^G1,7;^C14,0; # Net address Net name^M;"
IF (@BBSLIST_NETS@ > 0)
SET %TEMP% = 0
:LOOP3
SET %TEMP% = (%TEMP%+1)
SET @BBSLIST_NET@ = %TEMP%
WRITE "^C15,0;@BBSLIST_NET@:02 @BBSLIST_NETADDR@.20 @BBSLIST_NETNAME@.15^M;"
IF ((@BBSLIST_NET@ = @BBSLIST_NETS@) OR (@BBSLIST_NET@ = 10))
GOTO OUT3
END
GOTO LOOP3
END
:OUT3
RETURN
:ASK_NET
; sets net number
IF (@BBSLIST_NETS@ > 1)
SET @ANSWER@ =
WRITE "^C13,0;Enter net number : ^C14,1;^L2;^C13,0;^X-30;^E3;"
IF ((@ANSWER@ < 1) OR (@ANSWER@ > @BBSLIST_NETS@))
RETURN
ELSE
SET @BBSLIST_NET@ = @ANSWER@
END
ELSE
SET @BBSLIST_NET@ = 1
END
RETURN
:EDIT_NET
; edit current net number
WRITE "^G48,1;^C14,0;Press Ctrl-Z to continue."
SET %YPOS% = (@BBSLIST_NET@+7)
WRITE "^G1,%YPOS%;^C15,0;@BBSLIST_NET@:02"
MENUTYPE 1A BBSLIST3
WRITE "^G48,1;^C14,0;^E3;"
RETURN
:ADD_NET
SET %TEMP% = (@BBSLIST_NETS@+1)
SET @BBSLIST_NETS@ = %TEMP%
SET @BBSLIST_NET@ = @BBSLIST_NETS@
GOSUB EDIT_NET
RETURN
:DEL_NET
IF (@BBSLIST_NET@ < @BBSLIST_NETS@)
SET %TEMP% = (@BBSLIST_NET@+1)
:LOOP4
SET @BBSLIST_NET@ = %TEMP%
SET %L1% = @BBSLIST_NETADDR@
SET %L4% = @BBSLIST_NETNAME@
SET %TEMP% = (%TEMP%-1)
SET @BBSLIST_NET@ = %TEMP%
SET @BBSLIST_NETADDR@ = %L1%
SET @BBSLIST_NETNAME@ = %L4%
SET %TEMP% = (%TEMP%+2)
IF (%TEMP% >= @BBSLIST_NETS@)
GOTO OUT4
END
GOTO LOOP4
END
:OUT4
SET %TEMP% = (@BBSLIST_NETS@-1)
SET @BBSLIST_NETS@ = %TEMP%
SET @BBSLIST_NET@ = 1
RETURN
:STOP
QUIT